#ifndef STACK_H
#define STACK_H

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>

typedef struct{
    char *stack;  //顺序存储空间
    int size;  //总容量
    int top; //栈顶元素位置
}seqstack;

//API
seqstack *init_stack(int cap);

bool isfull(seqstack *sq);
bool isempty(seqstack *sq);

//入栈
bool push(seqstack *sq, char data);

//出栈
bool pop(seqstack *sq, char *data);

//取栈顶,获取栈顶元素值
bool top(seqstack *sq, char *pdata);

#endif